iOS

cocos2d-x 学习笔记(9)

ClippingNode的使用

ClippingNode示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
auto bg = LayerColor::create(Color4B(255, 255, 255,255));
this->addChild(bg, -1);//1
 
auto stencil = Sprite::create("CloseNormal.png");
stencil->setScale(2);//2
auto clipper = ClippingNode::create();
clipper->setStencil(stencil);//设置裁剪模板 //3
clipper->setInverted(true);//设置底板可见
clipper->setAlphaThreshold(0);//设置绘制底板的Alpha值为0
this->addChild(clipper);//4
 
auto content = Sprite::create("HelloWorld.png");//被裁剪的内容
clipper->addChild(content);//5
 
clipper->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
  • 添加了一个白色的LayerColor作为背景层。
  • 创建一个精灵,作为裁剪模板,并放大2倍
  • 创建ClippingNode节点,并设置裁剪模板
  • 设置裁剪显示,Alpha阈值,并将裁剪节点加到层中
  • 设置被裁剪的内容